home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / standards / CCITT / 1992 / X / x290_2.asc < prev    next >
Encoding:
Text File  |  1993-07-15  |  19.9 KB  |  476 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. 7.Test methods
  8.  
  9. 7.1    Introduction
  10.  
  11.        The testing of a given OSI* protocol can require the use of several test 
  12. methods, as systems under test can come in several configurations, and vary in 
  13. terms of their ability to allow ways of producing effects applicable to a layer 
  14. boundary.
  15.  
  16.        This section first characterizes the features of the system  under  test
  17. which are to be taken into consideration, next defines the possible test
  18. methods in abstract terms, and finally provides guidance on their applicability to 
  19. real systems.
  20.  
  21. 7.2    Classification of real open systems and IUTs for conformance testing
  22.  
  23. 7.2.1  Classification of systems under test
  24.  
  25. 7.2.1.1There is a relation between the test methods and the configurations of  the
  26. real open systems to be tested. The appropriate test methods vary according to:
  27.  
  28.        a)   the main function of the system (end-system or relay-system);
  29.  
  30.        b)   which layers use OSI* protocols;
  31.  
  32.        c)   whether the alternative of non-OSI* protocols is also available.
  33.  
  34. 7.2.1.2The following configurations of systems have been identified for the purposes 
  35. of conformance testing, as illustrated in Figures 2 to 4.  Configurations 1 to 3 are 
  36. the basic configurations of systems under test (SUTs):
  37.  
  38.        a)   Configuration 1: 7-layer open system (end-system)
  39.  
  40.                         These systems use OSI* Recommendation* protocols in all 7 layers.
  41.  
  42.        b)   Configuration 2: Partial (N)-open system (end-system)
  43.  
  44.                         These systems use OSI* Recommendation* protocols in layers 1 to N.
  45.  
  46.        c)   Configuration 3: Open relay-systems
  47.  
  48.             These use OSI* protocols in layers 1 to 3 (Network relay-systems)  or 1 
  49.             to 7 (Application relay-systems).
  50.  
  51. 7.2.1.3Other configurations can be derived from the basic configurations.
  52.  
  53.        A SUT can be a combination of basic configurations 1 and 2, allowing the 
  54. alternative of using OSI* and non-OSI* protocols above layer N (see Figure 5).
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. 7.2.2  Identification of the implementation under test (IUT)
  68.  
  69.        An implementation under test (IUT) is that part of a real open system which 
  70. is to be studied by conformance testing. It should be an implementation of one or 
  71. more adjacent OSI* protocols.
  72.  
  73.        IUTs can be defined for configurations 1 and 2 of SUTs as single-layer IUTs 
  74. (one single layer of the SUT is to be tested), or as multi-layer IUTs (a set of any 
  75. number of adjacent layers of the SUT to be tested in combination).
  76.  
  77.        An IUT defined in an open relay-system will include at least  the  layer
  78. which provides the relay function.
  79.  
  80.        When OSI* and non-OSI* protocols exist in a system, the IUT(s)  will  be
  81. defined for the OSI* mode(s) of operation. Testing non-OSI* protocols is outside the 
  82. scope of this Recommendation.
  83.  
  84.        Clients and test laboratories will agree on what part of the SUT will be 
  85. considered to be the IUT.
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96. 7.3    Abstract testing methodology - general
  97.  
  98.        Test methods need to refer to an abstract testing methodology, based upon 
  99. the OSI reference model. Considering first end-systems (7-layer or partial (N)-open 
  100. systems) and single layer IUTs within these systems, abstract test methods  are
  101. described in terms of what outputs from the IUT are observed and what inputs to it 
  102. can be controlled. More specifically, an abstract test method is  described  by
  103. identifying the points closest to the IUT at which control and observation are to 
  104. be exercized.
  105.  
  106.        The OSI* protocol Recommendations* define allowed behaviour of a protocol 
  107. entity (i.e., the dynamic conformance requirements) in terms of the protocol data 
  108. units (PDUs) and the abstract service primitives (ASPs) both above and below that 
  109. entity. Thus the behaviour of an (N)-entity is defined in terms of the (N)-ASPs and 
  110. (N-1)-ASPs (the latter including the (N)-PDUs).
  111.  
  112.        If an IUT comprises more than one protocol entity, the required behaviour 
  113. can be defined in terms of the ASPs above and below the IUT, including the PDUs of 
  114. the protocols in the IUT.
  115.  
  116.        The starting point for developing test methods is the conceptual testing 
  117. architecture, illustrated in Figure 6.  It  is  a  "black-box"  active  testing
  118. architecture, based on the definition of behaviour required of the IUT.
  119.  
  120.        The action of the tester shown in Figure 6 can either be applied locally, 
  121. in which case there is a direct coupling  within  the  system  under  test,  or
  122. externally via a link or network. The two sets of interactions, above and below the 
  123. IUT, can, in practice, be observed and controlled from several different points, 
  124. locally or externally.
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.        The possible points of control and observation (PCOs) are identified  by
  133. three factors:
  134.  
  135.        a)   whether it is the ASPs or PDUs which are observed and controlled;
  136.  
  137.        b)   the layer identity of the ASPs or PDUs concerned;
  138.  
  139.        c)   whether they are controlled and observed within the system under test 
  140.             or in a system remote from the system under test - if the latter then 
  141.             the ASPs are  distinguished  by  the  addition  of  a  double-quote
  142.             character(").
  143.  
  144.        Possible PCOs within the SUT are illustrated in Figure 7(a). Possible PCOs, 
  145. when the activity below the IUT  is  controlled  and  observed  externally  are
  146. illustrated in Figure 7(b). It can be seen from these figures that there  is  a
  147. multiplicity of possible PCOs in different layers, which offer different degrees of 
  148. control and observation of IUT behaviour. This Recommendation makes a selection 
  149. from this set of possible PCOs, defining a limited number of abstract test methods. 
  150.  
  151.  
  152.        If control and observation below, or external from, the IUT is specified in 
  153. terms of ASPs, it will include control and observation of the PDUs carried by those 
  154. ASPs; but if it is specified in terms of PDUs (at layer N) then the ASPs (at layer 
  155. N-1) are not considered to be controlled or observed.
  156.  
  157.        It is assumed that the ASP activity  below  the  IUT  can  at  least  be
  158. observable and controllable via the peer activity in a remote testing system  -
  159. i.e., the corresponding ASP"s. Thus  when  the  ASPs  below  the  IUT  are  not
  160. controllable nor observable locally, conformance testing  can  be  carried  out
  161. externally, provided that the underlying service offered is sufficiently reliable 
  162. for control and observation to take place remotely.
  163.  
  164.        It is possible that  the  ASP  activity  above  the  IUT  might  not  be
  165. controllable nor observable, in which case this activity is said to be hidden. 
  166.  
  167.        SUTs are not required to provide access to layer boundaries. However, the 
  168. possible provision of such access and the possible positions of such boundaries 
  169. with respect to the layers of the IUT are factors to be taken into consideration in 
  170. the definition of the test methods, which may take advantage of this access  to
  171. define the test suites in terms of the corresponding ASPs. It does  not  matter
  172. whether the accessible boundaries are accessed via service access points (SAPs) or 
  173. via some other PCOs.
  174.  
  175.        Figure 8  shows  examples  of  IUTs,  with  respect  to  layer  boundary
  176. accessibility.
  177.  
  178. Note - In addition, a conformance test suite Recommendation* may define "abstract 
  179. local primitives". These are used to specify control and observation of events or 
  180. states which are referred to in the protocol Recommendation* but which are internal 
  181. to the IUT and which cannot be expressed in terms of ASPs.  They are abbreviations 
  182. for text descriptions of control and observation to be performed by  the  upper
  183. tester.
  184.  
  185.        Similar consideration  apply  to  relay  systems  (see  Part  2  of  the
  186. Recommendation for details).
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.                             FIGURE 8/X.290, PART 1
  199.                                        
  200.                         Examples of IUT configurations
  201.  
  202. 7.4    Abstract testing functions
  203.  
  204.        The definition of abstract  test  methods  requires  that  the  PCOs  be
  205. distributed over two abstract testing functions, the lower and upper testers.
  206.  
  207.        The lower tester is the abstraction of the means of providing, during test 
  208. execution, control and observation at the appropriate PCO either below the IUT or 
  209. remote from the IUT, as defined by the chosen abstract test method. Thus, it is the 
  210. testing function related to the control and observation of the lower boundary of 
  211. the IUT. If the action of the tester is local to the SUT, the lower tester will 
  212. take the place of the lower part of the SUT. If the action  of  the  tester  is
  213. external to the SUT, the lower tester will rely on the (N-1)-Service,  provided
  214. jointly by the lower tester itself, a link and the SUT.
  215.  
  216.        The upper tester is the abstraction of the means of providing, during test 
  217. execution, control and observation of the upper service boundary of the IUT and of 
  218. any relevant abstract local primitive.
  219.  
  220.        There is a need for cooperation between the upper tester and  the  lower
  221. tester; the rules for such cooperation are called the test coordination procedures.
  222.  
  223.        The test methods will vary  in  the  way  that  they  specify  the  test
  224. coordination procedures. In some cases it is possible to define a test management 
  225. protocol to provide the coordination between the upper and lower testers. In other 
  226. cases it is only possible to describe the requirements to be met  by  the  test
  227. coordination procedures without specifying what mechanisms might be used to realize 
  228. them.
  229.  
  230. 7.5    Overview of abstract test methods
  231.  
  232. 7.5.1  End-system IUTs
  233.  
  234.        For the IUTs defined within end-system SUTs (configurations 1 and  2  in
  235. Figures 2 and 3) four categories of abstract test methods are defined, one local, 
  236. and three external ones which assume the lower tester is located remotely from the 
  237. SUT and connected to it by a link or network.
  238.  
  239. 7.5.2  The local test methods
  240.  
  241.        The local abstract test methods define the PCOs as being at the  service
  242. boundaries above and below the IUT. The test events are specified in terms of the 
  243. ASPs above the IUT and the ASPs and PDUs  below  the  IUT,  as  illustrated  in
  244. Figure 9(a). Abstractly, a lower tester is considered to observe and control the 
  245. ASPs and PDUs below the IUT, while an upper tester observes and controls the ASPs 
  246. above the IUT. Requirements to be met by test coordination procedures  used  to
  247. coordinate the realizations of the upper and lower testers are defined  in  the
  248. abstract conformance test suites, although  the  test  coordination  procedures
  249. themselves are not.
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257. 7.5.3  External test methods
  258.  
  259.        The external test methods use control and observation of the ASPs below the 
  260. IUT by means of a lower tester separated from the SUT, together with control and 
  261. observation of the ASPs above the IUT. Three different categories  of  external
  262. abstract test methods are  defined,  which  are  referred  to  as  distributed,
  263. coordinated, and remote. They vary according to the  level  of  requirement  or
  264. standardization put on the test coordination procedures, on the access to the layer 
  265. boundary above the IUT, and on the requirements on an upper  tester.  They  are
  266. illustrated in Figures 9(b), (c) and (d).
  267.  
  268.        The coordinated test method requires that the test coordination procedures 
  269. used to coordinate the realization of the upper and lower testers be achieved by 
  270. means of test management protocols. The other  two  methods  do  not  make  any
  271. assumptions about the realization of the test coordination procedures.
  272.  
  273.        The distributed and coordinated test methods require specific  functions
  274. from the upper tester above the IUT. The remote method does not.
  275.  
  276.        The distributed method requires access to the upper boundary of the IUT. 
  277. The other two methods do not.
  278.  
  279. 7.5.4  Variants of end-system test methods
  280.  
  281.        Each category of test methods has variants which can be applied to single- 
  282. layer IUTs or to multi-layer IUTs. For multi-layer IUTs in which the protocols are 
  283. to be tested layer by layer, embedded variants can be used.
  284.  
  285.        All abstract test methods for end-systems are fully specified in section 8 
  286. of Part 2 of this Recommendation, including their single-layer, multi-layer and 
  287. embedded variants where applicable.
  288.  
  289. 7.5.5  Relay-system IUTs
  290.  
  291.        For open relay-systems, two test  methods  are  defined,  loop-back  and
  292. transverse. These  are  fully  specified  in  section  8  of  Part  2  of  this
  293. Recommendation.             FIGURE 9/X.290, PART 1
  294.                                        
  295.                        Overview of abstract test methods
  296. 7.6    Applicability of test methods to real open systems
  297.  
  298.        The architecture and stage of development of a real open system determines 
  299. the applicability of test methods to it.
  300.  
  301.        Local test methods are useful for systems under development, when  their
  302. architecture permits the isolation of an IUT, be it single-layer or multi- layer.
  303.  
  304.        External test methods are useful for testing complete  or  partial  end-
  305. systems which can attach to telecommunications networks.
  306.  
  307.        Coordinated test methods apply where  it  is  possible  to  implement  a
  308. standardized test management protocol in an upper tester in the SUT, above the IUT.
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.        Remote test methods apply when it is possible to make use of some functions 
  322. of the SUT to control the IUT during testing, instead of using a specific upper 
  323. tester.
  324.  
  325.        Distributed test methods apply when it is necessary  to  allow  complete
  326. freedom for the implementation of the test coordination procedures between the SUT 
  327. and the lower tester, but to specify in  detail  the  control  and  observation
  328. requirements at both ends.
  329.  
  330.        Single-layer test methods are the most appropriate methods for testing the 
  331. majority of the protocol conformance requirements.
  332.  
  333.        Multi-layer test methods will be used when conformance to true multi- layer 
  334. dynamic conformance requirements is to be tested.
  335.  
  336.        Embedded test methods permit the application of single-layer testing to all 
  337. layers of a multi-layer IUT.
  338.  
  339.        For 7-layer open systems, the preferred methods are the incremental use of 
  340. appropriate external single-layer embedded methods with the following PCOs:
  341.  
  342.        a)   the upper interface of the application layer as provided by the 7- 
  343.             layer open system, when applicable;
  344.  
  345.        b)   successively, each SAP (or corresponding PCO if there is no SAP as 
  346.             such) below the protocol which is the focus of  the  testing,  as
  347.             controlled and observed in the external lower tester, starting from 
  348.             the lowest protocol of the IUT and working upwards.
  349.  
  350. 7.7    Applicability of the test methods to OSI* protocols and layers
  351.  
  352.        The test methods defined in this Recommendation apply to all layers, with 
  353. the exception of the Physical-layer and the Media Access Control protocols which 
  354. are outside the scope of this Recommendation. Appendix I of this Recommendation 
  355. provides guidance on the applicability of test methods to all other layers.
  356.  
  357. 8.     Test suites
  358.  
  359. 8.1    Structure
  360.  
  361.        Test suites have a hierarchical structure (see Figure 10) in which  an
  362. important level is the test case. Each test case has a narrowly defined purpose, 
  363. such as that of verifying that the IUT  has  a  certain  required  capability
  364. (e.g. the ability to support certain packet sizes) or exhibit a certain required 
  365. behaviour (e.g. behave as required when a particular event occurs in a particular 
  366. state).
  367.  
  368.        Within a test suite, nested test groups are used to provide a  logical
  369. ordering of the test cases. Test groups may be nested to an arbitrary depth. They 
  370. may be used to aid planning, development, understanding or execution of the test 
  371. suite.
  372.  
  373.        Test cases are modularized by using named subdivisions called test steps. 
  374. Each test case comprises at least one test step: the ordering of events covered 
  375. by the test purpose ("test body"). It may include further test steps to put the 
  376. IUT into the state required for the test body to start from (the "preamble") or 
  377. return to a quiescent state after the test body has finished (the "postamble").
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.        For practical reasons, common test steps may be grouped together  into
  386. test step libraries. Test step libraries may be structured into nested sets of 
  387. test steps, to any depth of nesting. Test step libraries may be associated with 
  388. the whole test suite or with a particular test group or test case.
  389.  
  390.        Furthermore, all test steps consist of an ordering of other test steps 
  391. and/or test events (e.g. the transfer of a single PDU or ASP to or from the IUT). 
  392. All test steps are, therefore, equivalent to an ordering of test events (after 
  393. expansion of the inner test steps).
  394.                            FIGURE 10/X.290, PART 1
  395.                                       
  396.                             Test suite structure
  397. 8.2    Generic, abstract and executable test cases
  398.  
  399. 8.2.1  A generic test case is one which:
  400.  
  401.        a)   provides a refinement of the test purpose;
  402.  
  403.        b)   specifies that all sequences of test events (paths) in the test body 
  404.             which correspond to verdicts of "pass", "fail" and "inconclusive", 
  405.             using a specialized notation;
  406.  
  407.        c)   is used as the common root of corresponding abstract test cases for 
  408.             different abstract test suites for the same protocol;
  409.  
  410.        d)   includes a description of the initial state in which the test body 
  411.             should start, in lieu of a preamble;
  412.  
  413.        e)   need not describe the postamble;
  414.  
  415.        f)   is specified using the style of either the Remote  or  Distributed
  416.             Single-layer test methods.
  417.  
  418. 8.2.2  An abstract test case is derived from a generic case and  the  relevant
  419. protocol specification; it:
  420.  
  421.        a)   specifies the test case in terms of a particular test method;
  422.  
  423.        b)   adds a more precise specification for sequences of events which are 
  424.             only described informally in the generic test case;
  425.  
  426.        c)   adds the sequences of test events required to  achieve  the
  427.             objectives of the preamble and postamble of the generic test 
  428.             case using a specialized notation.
  429.  
  430. 8.2.3  An executable test case is derived from an abstract test case, and is in a 
  431. form which allows it to be run on a real tester for testing a real implementation.
  432.  
  433. 8.2.4  The terms generic, abstract and executable are used  to  describe  test
  434. suites, which comprise generic, abstract and executable test cases, respectively.
  435.  
  436. 8.2.5  A generic test suite has the coverage of the set or a superset  of  all
  437. possible abstract test suites for a particular protocol.
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450. 9.     Relationships between concepts and roles
  451.  
  452.        Figure 11 is a pictorial representation of  the  relation  between  the
  453. various Recommendations and the processes of producing generic,  abstract  and
  454. executable test suites and test reports.
  455.  
  456.        Part 2 concerns the production of testable protocol Recommendations and 
  457. abstract test suite Recommendations. Part  1  provides  general  concepts  and
  458. definitions.
  459.  
  460. Note - Other aspects of the conformance assessment process, such as executable 
  461. test derivation, preparation of the IUT, PICS and PIXIT by the client and test 
  462. laboratory role are for further study.
  463.  
  464. 10.    Compliance
  465.  
  466.        In this Recommendation, "compliance" refers to meeting the requirements 
  467. specified by the Recommendation. This word is used as an attempt to  eliminate
  468. confusion between compliance to this Recommendation and conformance of a protocol 
  469. implementation to protocol Recommendations.
  470.  
  471.        This part of the Recommendation contains no compliance requirements.
  472.                            FIGURE 11/X.290, PART 1
  473.                                        
  474.                    Relationships between concepts and roles
  475.  
  476.